home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio 5 / Ray Dream.iso / pc / DreamSDK / Windows / SAMPLES / PRIMITIV / TPOT / TEAPOTD.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-11  |  13.1 KB  |  367 lines

  1. // Copyright (c)1995 Ray Dream, Inc. All Rights Reserved.
  2. // $Id: TeaPotD.h 1.1 1996/07/19 00:11:03 Damien Exp $
  3.  
  4. // Teapot Data
  5.  
  6. #ifndef __TEAPOTD__
  7. #define __TEAPOTD__
  8.  
  9. #define NUM_PATCHES 32
  10. #define NUM_VERTICES 306
  11.  
  12. static int    vertex_index[NUM_PATCHES][4][4] = 
  13. {
  14. /* Rim */
  15. {{  1,   2,   3,   4 },{   5,   6,   7,   8 },{   9,  10,  11,  12 },{  13,  14,  15,  16 }},
  16. {{  4,  17,  18,  19 },{   8,  20,  21,  22 },{  12,  23,  24,  25 },{  16,  26,  27,  28 }},
  17. {{ 19,  29,  30,  31 },{  22,  32,  33,  34 },{  25,  35,  36,  37 },{  28,  38,  39,  40 }},
  18. {{ 31,  41,  42,   1 },{  34,  43,  44,   5 },{  37,  45,  46,   9 },{  40,  47,  48,  13 }},
  19. /* Body */
  20. {{ 13,  14,  15,  16 },{  49,  50,  51,  52 },{  53,  54,  55,  56 },{  57,  58,  59,  60 }},
  21. {{ 16,  26,  27,  28 },{  52,  61,  62,  63 },{  56,  64,  65,  66 },{  60,  67,  68,  69 }},
  22. {{ 28,  38,  39,  40 },{  63,  70,  71,  72 },{  66,  73,  74,  75 },{  69,  76,  77,  78 }},
  23. {{ 40,  47,  48,  13 },{  72,  79,  80,  49 },{  75,  81,  82,  53 },{  78,  83,  84,  57 }},
  24. {{ 57,  58,  59,  60 },{  85,  86,  87,  88 },{  89,  90,  91,  92 },{  93,  94,  95,  96 }},
  25. {{ 60,  67,  68,  69 },{  88,  97,  98,  99 },{  92, 100, 101, 102 },{  96, 103, 104, 105 }},
  26. {{ 69,  76,  77,  78 },{  99, 106, 107, 108 },{ 102, 109, 110, 111 },{ 105, 112, 113, 114 }},
  27. {{ 78,  83,  84,  57 },{ 108, 115, 116,  85 },{ 111, 117, 118,  89 },{ 114, 119, 120,  93 }},
  28. /* Handle */
  29. {{121, 122, 123, 124 },{ 125, 126, 127, 128 },{ 129, 130, 131, 132 },{ 133, 134, 135, 136 }},
  30. {{124, 137, 138, 121 },{ 128, 139, 140, 125 },{ 132, 141, 142, 129 },{ 136, 143, 144, 133 }},
  31. {{133, 134, 135, 136 },{ 145, 146, 147, 148 },{ 149, 150, 151, 152 },{  69, 153, 154, 155 }},
  32. {{136, 143, 144, 133 },{ 148, 156, 157, 145 },{ 152, 158, 159, 149 },{ 155, 160, 161,  69 }},
  33. /* Spout */
  34. {{162, 163, 164, 165 },{ 166, 167, 168, 169 },{ 170, 171, 172, 173 },{ 174, 175, 176, 177 }},
  35. {{165, 178, 179, 162 },{ 169, 180, 181, 166 },{ 173, 182, 183, 170 },{ 177, 184, 185, 174 }},
  36. {{174, 175, 176, 177 },{ 186, 187, 188, 189 },{ 190, 191, 192, 193 },{ 194, 195, 196, 197 }},
  37. {{177, 184, 185, 174 },{ 189, 198, 199, 186 },{ 193, 200, 201, 190 },{ 197, 202, 203, 194 }},
  38. /* Lid */
  39. {{204, 204, 204, 204 },{ 207, 208, 209, 210 },{ 211, 211, 211, 211 },{ 212, 213, 214, 215 }},
  40. {{204, 204, 204, 204 },{ 210, 217, 218, 219 },{ 211, 211, 211, 211 },{ 215, 220, 221, 222 }},
  41. {{204, 204, 204, 204 },{ 219, 224, 225, 226 },{ 211, 211, 211, 211 },{ 222, 227, 228, 229 }},
  42. {{204, 204, 204, 204 },{ 226, 230, 231, 207 },{ 211, 211, 211, 211 },{ 229, 232, 233, 212 }},
  43. {{212, 213, 214, 215 },{ 234, 235, 236, 237 },{ 238, 239, 240, 241 },{ 242, 243, 244, 245 }},
  44. {{215, 220, 221, 222 },{ 237, 246, 247, 248 },{ 241, 249, 250, 251 },{ 245, 252, 253, 254 }},
  45. {{222, 227, 228, 229 },{ 248, 255, 256, 257 },{ 251, 258, 259, 260 },{ 254, 261, 262, 263 }},
  46. {{229, 232, 233, 212 },{ 257, 264, 265, 234 },{ 260, 266, 267, 238 },{ 263, 268, 269, 242 }},
  47. /* Bottom */
  48. {{270, 270, 270, 270 },{ 279, 280, 281, 282 },{ 275, 276, 277, 278 },{ 271, 272, 273, 274 }},
  49. {{270, 270, 270, 270 },{ 282, 289, 290, 291 },{ 278, 286, 287, 288 },{ 274, 283, 284, 285 }},
  50. {{270, 270, 270, 270 },{ 291, 298, 299, 300 },{ 288, 295, 296, 297 },{ 285, 292, 293, 294 }},
  51. {{270, 270, 270, 270 },{ 300, 305, 306, 279 },{ 297, 303, 304, 275 },{ 294, 301, 302, 271 }},
  52. };
  53.  
  54. static float  vertex[NUM_VERTICES][3] = 
  55. {
  56. {  1.4000, 0.0000, 2.40000, },
  57. {  1.4000,-0.7840, 2.40000, },
  58. {  0.7840,-1.4000, 2.40000, },
  59. {  0.0000,-1.4000, 2.40000, },
  60. {  1.3375, 0.0000, 2.53125, },
  61. {  1.3375,-0.7490, 2.53125, },
  62. {  0.7490,-1.3375, 2.53125, },
  63. {  0.0000,-1.3375, 2.53125, },
  64. {  1.4375, 0.0000, 2.53125, },
  65. {  1.4375,-0.8050, 2.53125, },  /* 10 */
  66. {  0.8050,-1.4375, 2.53125, },
  67. {  0.0000,-1.4375, 2.53125, },
  68. {  1.5000, 0.0000, 2.40000, },
  69. {  1.5000,-0.8400, 2.40000, },
  70. {  0.8400,-1.5000, 2.40000, },
  71. {  0.0000,-1.5000, 2.40000, },
  72. { -0.7840,-1.4000, 2.40000, },
  73. { -1.4000,-0.7840, 2.40000, },
  74. { -1.4000, 0.0000, 2.40000, },
  75. { -0.7490,-1.3375, 2.53125, },  /* 20 */
  76. { -1.3375,-0.7490, 2.53125, },
  77. { -1.3375, 0.0000, 2.53125, },
  78. { -0.8050,-1.4375, 2.53125, },
  79. { -1.4375,-0.8050, 2.53125, },
  80. { -1.4375, 0.0000, 2.53125, },
  81. { -0.8400,-1.5000, 2.40000, },
  82. { -1.5000,-0.8400, 2.40000, },
  83. { -1.5000, 0.0000, 2.40000, },
  84. { -1.4000, 0.7840, 2.40000, },
  85. { -0.7840, 1.4000, 2.40000, },  /* 30 */
  86. {  0.0000, 1.4000, 2.40000, },
  87. { -1.3375, 0.7490, 2.53125, },
  88. { -0.7490, 1.3375, 2.53125, },
  89. {  0.0000, 1.3375, 2.53125, },
  90. { -1.4375, 0.8050, 2.53125, },
  91. { -0.8050, 1.4375, 2.53125, },
  92. {  0.0000, 1.4375, 2.53125, },
  93. { -1.5000, 0.8400, 2.40000, },
  94. { -0.8400, 1.5000, 2.40000, },
  95. {  0.0000, 1.5000, 2.40000, },  /* 40 */
  96. {  0.7840, 1.4000, 2.40000, },
  97. {  1.4000, 0.7840, 2.40000, },
  98. {  0.7490, 1.3375, 2.53125, },
  99. {  1.3375, 0.7490, 2.53125, },
  100. {  0.8050, 1.4375, 2.53125, },
  101. {  1.4375, 0.8050, 2.53125, },
  102. {  0.8400, 1.5000, 2.40000, },
  103. {  1.5000, 0.8400, 2.40000, },
  104. {  1.7500, 0.0000, 1.87500, },
  105. {  1.7500,-0.9800, 1.87500, },  /* 50 */
  106. {  0.9800,-1.7500, 1.87500, },
  107. {  0.0000,-1.7500, 1.87500, },
  108. {  2.0000, 0.0000, 1.35000, },
  109. {  2.0000,-1.1200, 1.35000, },
  110. {  1.1200,-2.0000, 1.35000, },
  111. {  0.0000,-2.0000, 1.35000, },
  112. {  2.0000, 0.0000, 0.90000, },
  113. {  2.0000,-1.1200, 0.90000, },
  114. {  1.1200,-2.0000, 0.90000, },
  115. {  0.0000,-2.0000, 0.90000, },  /* 60 */
  116. { -0.9800,-1.7500, 1.87500, },
  117. { -1.7500,-0.9800, 1.87500, },
  118. { -1.7500, 0.0000, 1.87500, },
  119. { -1.1200,-2.0000, 1.35000, },
  120. { -2.0000,-1.1200, 1.35000, },
  121. { -2.0000, 0.0000, 1.35000, },
  122. { -1.1200,-2.0000, 0.90000, },
  123. { -2.0000,-1.1200, 0.90000, },
  124. { -2.0000, 0.0000, 0.90000, },
  125. { -1.7500, 0.9800, 1.87500, },  /* 70 */
  126. { -0.9800, 1.7500, 1.87500, },
  127. {  0.0000, 1.7500, 1.87500, },
  128. { -2.0000, 1.1200, 1.35000, },
  129. { -1.1200, 2.0000, 1.35000, },
  130. {  0.0000, 2.0000, 1.35000, },
  131. { -2.0000, 1.1200, 0.90000, },
  132. { -1.1200, 2.0000, 0.90000, },
  133. {  0.0000, 2.0000, 0.90000, },
  134. {  0.9800, 1.7500, 1.87500, },
  135. {  1.7500, 0.9800, 1.87500, },
  136. {  1.1200, 2.0000, 1.35000, },
  137. {  2.0000, 1.1200, 1.35000, },
  138. {  1.1200, 2.0000, 0.90000, },
  139. {  2.0000, 1.1200, 0.90000, },
  140. {  2.0000, 0.0000, 0.45000, },
  141. {  2.0000,-1.1200, 0.45000, },
  142. {  1.1200,-2.0000, 0.45000, },
  143. {  0.0000,-2.0000, 0.45000, },
  144. {  1.5000, 0.0000, 0.22500, },
  145. {  1.5000,-0.8400, 0.22500, },  /* 90 */
  146. {  0.8400,-1.5000, 0.22500, },
  147. {  0.0000,-1.5000, 0.22500, },
  148. {  1.5000, 0.0000, 0.15000, },
  149. {  1.5000,-0.8400, 0.15000, },
  150. {  0.8400,-1.5000, 0.15000, },
  151. {  0.0000,-1.5000, 0.15000, },
  152. { -1.1200,-2.0000, 0.45000, },
  153. { -2.0000,-1.1200, 0.45000, },
  154. { -2.0000, 0.0000, 0.45000, },
  155. { -0.8400,-1.5000, 0.22500, },  /* 100 */
  156. { -1.5000,-0.8400, 0.22500, },
  157. { -1.5000, 0.0000, 0.22500, },
  158. { -0.8400,-1.5000, 0.15000, },
  159. { -1.5000,-0.8400, 0.15000, },
  160. { -1.5000, 0.0000, 0.15000, },
  161. { -2.0000, 1.1200, 0.45000, },
  162. { -1.1200, 2.0000, 0.45000, },
  163. {  0.0000, 2.0000, 0.45000, },
  164. { -1.5000, 0.8400, 0.22500, },
  165. { -0.8400, 1.5000, 0.22500, },
  166. {  0.0000, 1.5000, 0.22500, },
  167. { -1.5000, 0.8400, 0.15000, },
  168. { -0.8400, 1.5000, 0.15000, },
  169. {  0.0000, 1.5000, 0.15000, },
  170. {  1.1200, 2.0000, 0.45000, },
  171. {  2.0000, 1.1200, 0.45000, },
  172. {  0.8400, 1.5000, 0.22500, },
  173. {  1.5000, 0.8400, 0.22500, },
  174. {  0.8400, 1.5000, 0.15000, },
  175. {  1.5000, 0.8400, 0.15000, },
  176. { -1.6000, 0.0000, 2.02500, },
  177. { -1.6000,-0.3000, 2.02500, },
  178. { -1.5000,-0.3000, 2.25000, },
  179. { -1.5000, 0.0000, 2.25000, },
  180. { -2.3000, 0.0000, 2.02500, },
  181. { -2.3000,-0.3000, 2.02500, },
  182. { -2.5000,-0.3000, 2.25000, },
  183. { -2.5000, 0.0000, 2.25000, },
  184. { -2.7000, 0.0000, 2.02500, },
  185. { -2.7000,-0.3000, 2.02500, },
  186. { -3.0000,-0.3000, 2.25000, },
  187. { -3.0000, 0.0000, 2.25000, },
  188. { -2.7000, 0.0000, 1.80000, },
  189. { -2.7000,-0.3000, 1.80000, },
  190. { -3.0000,-0.3000, 1.80000, },
  191. { -3.0000, 0.0000, 1.80000, },
  192. { -1.5000, 0.3000, 2.25000, },
  193. { -1.6000, 0.3000, 2.02500, },
  194. { -2.5000, 0.3000, 2.25000, },
  195. { -2.3000, 0.3000, 2.02500, },
  196. { -3.0000, 0.3000, 2.25000, },
  197. { -2.7000, 0.3000, 2.02500, },
  198. { -3.0000, 0.3000, 1.80000, },
  199. { -2.7000, 0.3000, 1.80000, },
  200. { -2.7000, 0.0000, 1.57500, },
  201. { -2.7000,-0.3000, 1.57500, },
  202. { -3.0000,-0.3000, 1.35000, },
  203. { -3.0000, 0.0000, 1.35000, },
  204. { -2.5000, 0.0000, 1.12500, },
  205. { -2.5000,-0.3000, 1.12500, },
  206. { -2.6500,-0.3000, 0.93750, },
  207. { -2.6500, 0.0000, 0.93750, },
  208. { -2.0000,-0.3000, 0.90000, },
  209. { -1.9000,-0.3000, 0.60000, },
  210. { -1.9000, 0.0000, 0.60000, },
  211. { -3.0000, 0.3000, 1.35000, },
  212. { -2.7000, 0.3000, 1.57500, },
  213. { -2.6500, 0.3000, 0.93750, },
  214. { -2.5000, 0.3000, 1.12500, },
  215. { -1.9000, 0.3000, 0.60000, },
  216. { -2.0000, 0.3000, 0.90000, },
  217. {  1.7000, 0.0000, 1.42500, },
  218. {  1.7000,-0.6600, 1.42500, },
  219. {  1.7000,-0.6600, 0.60000, },
  220. {  1.7000, 0.0000, 0.60000, },
  221. {  2.6000, 0.0000, 1.42500, },
  222. {  2.6000,-0.6600, 1.42500, },
  223. {  3.1000,-0.6600, 0.82500, },
  224. {  3.1000, 0.0000, 0.82500, },
  225. {  2.3000, 0.0000, 2.10000, },
  226. {  2.3000,-0.2500, 2.10000, },
  227. {  2.4000,-0.2500, 2.02500, },
  228. {  2.4000, 0.0000, 2.02500, },
  229. {  2.7000, 0.0000, 2.40000, },
  230. {  2.7000,-0.2500, 2.40000, },
  231. {  3.3000,-0.2500, 2.40000, },
  232. {  3.3000, 0.0000, 2.40000, },
  233. {  1.7000, 0.6600, 0.60000, },
  234. {  1.7000, 0.6600, 1.42500, },
  235. {  3.1000, 0.6600, 0.82500, },
  236. {  2.6000, 0.6600, 1.42500, },
  237. {  2.4000, 0.2500, 2.02500, },
  238. {  2.3000, 0.2500, 2.10000, },
  239. {  3.3000, 0.2500, 2.40000, },
  240. {  2.7000, 0.2500, 2.40000, },
  241. {  2.8000, 0.0000, 2.47500, },
  242. {  2.8000,-0.2500, 2.47500, },
  243. {  3.5250,-0.2500, 2.49375, },
  244. {  3.5250, 0.0000, 2.49375, },
  245. {  2.9000, 0.0000, 2.47500, },
  246. {  2.9000,-0.1500, 2.47500, },
  247. {  3.4500,-0.1500, 2.51250, },
  248. {  3.4500, 0.0000, 2.51250, },
  249. {  2.8000, 0.0000, 2.40000, },
  250. {  2.8000,-0.1500, 2.40000, },
  251. {  3.2000,-0.1500, 2.40000, },
  252. {  3.2000, 0.0000, 2.40000, },
  253. {  3.5250, 0.2500, 2.49375, },
  254. {  2.8000, 0.2500, 2.47500, },
  255. {  3.4500, 0.1500, 2.51250, },  /* 200 */
  256. {  2.9000, 0.1500, 2.47500, },
  257. {  3.2000, 0.1500, 2.40000, },
  258. {  2.8000, 0.1500, 2.40000, },
  259. {  0.0000, 0.0000, 3.15000, },
  260. {  0.0000,-0.0020, 3.15000, },
  261. {  0.0020, 0.0000, 3.15000, },
  262. {  0.8000, 0.0000, 3.15000, },
  263. {  0.8000,-0.4500, 3.15000, },
  264. {  0.4500,-0.8000, 3.15000, },
  265. {  0.0000,-0.8000, 3.15000, },
  266. {  0.0000, 0.0000, 2.85000, },
  267. {  0.2000, 0.0000, 2.70000, },
  268. {  0.2000,-0.1120, 2.70000, },
  269. {  0.1120,-0.2000, 2.70000, },
  270. {  0.0000,-0.2000, 2.70000, },
  271. { -0.0020, 0.0000, 3.15000, },
  272. { -0.4500,-0.8000, 3.15000, },
  273. { -0.8000,-0.4500, 3.15000, },
  274. { -0.8000, 0.0000, 3.15000, },
  275. { -0.1120,-0.2000, 2.70000, },
  276. { -0.2000,-0.1120, 2.70000, },
  277. { -0.2000, 0.0000, 2.70000, },
  278. {  0.0000, 0.0020, 3.15000, },
  279. { -0.8000, 0.4500, 3.15000, },
  280. { -0.4500, 0.8000, 3.15000, },
  281. {  0.0000, 0.8000, 3.15000, },
  282. { -0.2000, 0.1120, 2.70000, },
  283. { -0.1120, 0.2000, 2.70000, },
  284. {  0.0000, 0.2000, 2.70000, },
  285. {  0.4500, 0.8000, 3.15000, },
  286. {  0.8000, 0.4500, 3.15000, },
  287. {  0.1120, 0.2000, 2.70000, },
  288. {  0.2000, 0.1120, 2.70000, },
  289. {  0.4000, 0.0000, 2.55000, },
  290. {  0.4000,-0.2240, 2.55000, },
  291. {  0.2240,-0.4000, 2.55000, },
  292. {  0.0000,-0.4000, 2.55000, },
  293. {  1.3000, 0.0000, 2.55000, },
  294. {  1.3000,-0.7280, 2.55000, },
  295. {  0.7280,-1.3000, 2.55000, },
  296. {  0.0000,-1.3000, 2.55000, },
  297. {  1.3000, 0.0000, 2.40000, },
  298. {  1.3000,-0.7280, 2.40000, },
  299. {  0.7280,-1.3000, 2.40000, },
  300. {  0.0000,-1.3000, 2.40000, },
  301. { -0.2240,-0.4000, 2.55000, },
  302. { -0.4000,-0.2240, 2.55000, },
  303. { -0.4000, 0.0000, 2.55000, },
  304. { -0.7280,-1.3000, 2.55000, },
  305. { -1.3000,-0.7280, 2.55000, },  /* 250 */
  306. { -1.3000, 0.0000, 2.55000, },
  307. { -0.7280,-1.3000, 2.40000, },
  308. { -1.3000,-0.7280, 2.40000, },
  309. { -1.3000, 0.0000, 2.40000, },
  310. { -0.4000, 0.2240, 2.55000, },
  311. { -0.2240, 0.4000, 2.55000, },
  312. {  0.0000, 0.4000, 2.55000, },
  313. { -1.3000, 0.7280, 2.55000, },
  314. { -0.7280, 1.3000, 2.55000, },
  315. {  0.0000, 1.3000, 2.55000, },  /* 260 */
  316. { -1.3000, 0.7280, 2.40000, },  /* 261 */
  317. { -0.7280, 1.3000, 2.40000, },  /* 262 */
  318. {  0.0000, 1.3000, 2.40000, },  /* 263 */
  319. {  0.2240, 0.4000, 2.55000, },
  320. {  0.4000, 0.2240, 2.55000, },
  321. {  0.7280, 1.3000, 2.55000, },
  322. {  1.3000, 0.7280, 2.55000, },
  323. {  0.7280, 1.3000, 2.40000, },
  324. {  1.3000, 0.7280, 2.40000, },
  325. {  0.0000, 0.0000, 0.00000, },  /* 270 */
  326. {  1.5000, 0.0000, 0.15000, },
  327. {  1.5000, 0.8400, 0.15000, },
  328. {  0.8400, 1.5000, 0.15000, },
  329. {  0.0000, 1.5000, 0.15000, },
  330. {  1.5000, 0.0000, 0.07500, },
  331. {  1.5000, 0.8400, 0.07500, },
  332. {  0.8400, 1.5000, 0.07500, },
  333. {  0.0000, 1.5000, 0.07500, },
  334. {  1.4250, 0.0000, 0.00000, },
  335. {  1.4250, 0.7980, 0.00000, },
  336. {  0.7980, 1.4250, 0.00000, },
  337. {  0.0000, 1.4250, 0.00000, },
  338. { -0.8400, 1.5000, 0.15000, },
  339. { -1.5000, 0.8400, 0.15000, },
  340. { -1.5000, 0.0000, 0.15000, },
  341. { -0.8400, 1.5000, 0.07500, },
  342. { -1.5000, 0.8400, 0.07500, },
  343. { -1.5000, 0.0000, 0.07500, },
  344. { -0.7980, 1.4250, 0.00000, },
  345. { -1.4250, 0.7980, 0.00000, },  /* 290 */
  346. { -1.4250, 0.0000, 0.00000, },
  347. { -1.5000,-0.8400, 0.15000, },
  348. { -0.8400,-1.5000, 0.15000, },
  349. {  0.0000,-1.5000, 0.15000, },
  350. { -1.5000,-0.8400, 0.07500, },
  351. { -0.8400,-1.5000, 0.07500, },
  352. {  0.0000,-1.5000, 0.07500, },
  353. { -1.4250,-0.7980, 0.00000, },
  354. { -0.7980,-1.4250, 0.00000, },
  355. {  0.0000,-1.4250, 0.00000, },  /* 300 */
  356. {  0.8400,-1.5000, 0.15000, },
  357. {  1.5000,-0.8400, 0.15000, },
  358. {  0.8400,-1.5000, 0.07500, },
  359. {  1.5000,-0.8400, 0.07500, },
  360. {  0.7980,-1.4250, 0.00000, },
  361. {  1.4250,-0.7980, 0.00000, },
  362.  
  363. };
  364.  
  365.  
  366. #endif
  367.